home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-08-10 | 10.3 KB | 334 lines | [TEXT/MPS ] |
- (*
- File: Resources.mod
-
- Contains: Resource Manager Interfaces.
-
- Version: Technology: System 7.5
- Package: Universal Interfaces 2.0 in “MPW Latest” on ETO #17
-
- Copyright: © 1984-1995 by Apple Computer, Inc.
- All rights reserved.
-
- Bugs?: If you find a problem with this file, use the Apple Bug Reporter
- stack. Include the file and version information (from above)
- in the problem description and send to:
- Internet: apple.bugs.applelink.apple.com
- AppleLink: APPLE.BUGS
-
- *)
-
- (*$IF UNDEFINED OLDROUTINENAMES*)
- (*$SET OLDROUTINENAMES FALSE*)
- (*$END*)
- (*$IF UNDEFINED SystemSevenFiveOrLater *)
- (*$SET SystemSevenFiveOrLater FALSE*)
- (*$END*)
- (*$IF UNDEFINED SystemSevenOrLater *)
- (*$IF GENERATINGCFM *)
- (*$SET SystemSevenOrLater TRUE*)
- (*$ELSE*)
- (*$SET SystemSevenOrLater SystemSevenFiveOrLater*)
- (*$END*)
- (*$END*)
- (*$IF UNDEFINED SystemSixOrLater *)
- (*$SET SystemSixOrLater SystemSevenOrLater*)
- (*$END*)
- (*$TAGS-*)
- (*$CALLING PASCAL*)
- MODULE Resources;
-
- IMPORT SYSTEM, Types, Files;
-
- (* $PUSH*)
- (* $ALIGN MAC68K*)
- (* $LibExport+*)
-
- CONST
- resSysHeap* = 64; (*System or application heap?*)
- resPurgeable* = 32; (*Purgeable resource?*)
- resLocked* = 16; (*Load it in locked?*)
- resProtected* = 8; (*Protected?*)
- resPreload* = 4; (*Load in on OpenResFile?*)
- resChanged* = 2; (*Resource changed?*)
- mapReadOnly* = 128; (*Resource file read-only*)
- mapCompact* = 64; (*Compact resource file*)
- mapChanged* = 32; (*Write map out at update*)
- kResFileNotOpened* = -1; (*ref num return as error when opening a resource file*)
- kSystemResFile* = 0; (*this is the default ref num to the system file*)
-
- TYPE
- (*
- ResErrProcPtr uses register based parameters on the 68k and cannot
- be written in or called from a high-level language without the help of
- mixed mode or assembly glue.
-
- In*:
- => thErr D0.W
- *)
- ResErrProcPtr* = Types.Register68kProcPtr; (* register PROCEDURE ResErr*(thErr: Types.OSErr); *)
- ResErrUPP* = Types.UniversalProcPtr;
-
- CONST
- uppResErrProcInfo* = $00001002; (* Register PROCEDURE (2 bytes in D0); *)
-
- PROCEDURE NewResErrProc*(userRoutine: ResErrProcPtr): ResErrUPP;
- (*$IF NOT GENERATINGCFM *)
- INLINE PASCAL $2E9F;
- (*$END*)
-
- PROCEDURE CallResErrProc*(thErr: Types.OSErr; userRoutine: ResErrUPP);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL ; (*••*)
- (*To be implemented*: Glue to move parameters into registers.*)
- (*$END*)
- (* These are no longer needed.
- * CFM provides us with the necessary run time initialization
- * entry points.
- *)
-
- PROCEDURE InitResources*(): INTEGER;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A995;
- (*$END*)
- PROCEDURE RsrcZoneInit*;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A996;
- (*$END*)
- PROCEDURE CloseResFile*(refNum: INTEGER);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A99A;
- (*$END*)
- PROCEDURE ResError*(): INTEGER;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A9AF;
- (*$END*)
- PROCEDURE CurResFile*(): INTEGER;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A994;
- (*$END*)
- PROCEDURE HomeResFile*(theResource: Types.Handle): INTEGER;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A9A4;
- (*$END*)
- PROCEDURE CreateResFile*(fileName: Types.ConstStr255Param);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A9B1;
- (*$END*)
- PROCEDURE OpenResFile*(fileName: Types.ConstStr255Param): INTEGER;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A997;
- (*$END*)
- PROCEDURE UseResFile*(refNum: INTEGER);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A998;
- (*$END*)
- PROCEDURE CountTypes*(): INTEGER;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A99E;
- (*$END*)
- PROCEDURE Count1Types*(): INTEGER;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A81C;
- (*$END*)
- PROCEDURE GetIndType*(VAR theType: Types.ResType; index: INTEGER);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A99F;
- (*$END*)
- PROCEDURE Get1IndType*(VAR theType: Types.ResType; index: INTEGER);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A80F;
- (*$END*)
- PROCEDURE SetResLoad*(load: BOOLEAN);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A99B;
- (*$END*)
- PROCEDURE CountResources*(theType: Types.ResType): INTEGER;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A99C;
- (*$END*)
- PROCEDURE Count1Resources*(theType: Types.ResType): INTEGER;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A80D;
- (*$END*)
- PROCEDURE GetIndResource*(theType: Types.ResType; index: INTEGER): Types.Handle;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A99D;
- (*$END*)
- PROCEDURE Get1IndResource*(theType: Types.ResType; index: INTEGER): Types.Handle;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A80E;
- (*$END*)
- PROCEDURE GetResource*(theType: Types.ResType; theID: INTEGER): Types.Handle;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A9A0;
- (*$END*)
- PROCEDURE Get1Resource*(theType: Types.ResType; theID: INTEGER): Types.Handle;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A81F;
- (*$END*)
- PROCEDURE GetNamedResource*(theType: Types.ResType; name: Types.ConstStr255Param): Types.Handle;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A9A1;
- (*$END*)
- PROCEDURE Get1NamedResource*(theType: Types.ResType; name: Types.ConstStr255Param): Types.Handle;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A820;
- (*$END*)
- PROCEDURE LoadResource*(theResource: Types.Handle);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A9A2;
- (*$END*)
- PROCEDURE ReleaseResource*(theResource: Types.Handle);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A9A3;
- (*$END*)
- PROCEDURE DetachResource*(theResource: Types.Handle);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A992;
- (*$END*)
- PROCEDURE UniqueID*(theType: Types.ResType): INTEGER;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A9C1;
- (*$END*)
- PROCEDURE Unique1ID*(theType: Types.ResType): INTEGER;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A810;
- (*$END*)
- PROCEDURE GetResAttrs*(theResource: Types.Handle): INTEGER;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A9A6;
- (*$END*)
- PROCEDURE GetResInfo*(theResource: Types.Handle; VAR theID: INTEGER; VAR theType: Types.ResType; VAR name: Types.Str255);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A9A8;
- (*$END*)
- PROCEDURE SetResInfo*(theResource: Types.Handle; theID: INTEGER; name: Types.ConstStr255Param);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A9A9;
- (*$END*)
- PROCEDURE AddResource*(theData: Types.Handle; theType: Types.ResType; theID: INTEGER; name: Types.ConstStr255Param);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A9AB;
- (*$END*)
- PROCEDURE GetResourceSizeOnDisk*(theResource: Types.Handle): LONGINT;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A9A5;
- (*$END*)
- PROCEDURE GetMaxResourceSize*(theResource: Types.Handle): LONGINT;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A821;
- (*$END*)
- PROCEDURE RsrcMapEntry*(theResource: Types.Handle): LONGINT;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A9C5;
- (*$END*)
- PROCEDURE SetResAttrs*(theResource: Types.Handle; attrs: INTEGER);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A9A7;
- (*$END*)
- PROCEDURE ChangedResource*(theResource: Types.Handle);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A9AA;
- (*$END*)
- PROCEDURE RemoveResource*(theResource: Types.Handle);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A9AD;
- (*$END*)
- PROCEDURE UpdateResFile*(refNum: INTEGER);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A999;
- (*$END*)
- PROCEDURE WriteResource*(theResource: Types.Handle);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A9B0;
- (*$END*)
- PROCEDURE SetResPurge*(install: BOOLEAN);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A993;
- (*$END*)
- PROCEDURE GetResFileAttrs*(refNum: INTEGER): INTEGER;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A9F6;
- (*$END*)
- PROCEDURE SetResFileAttrs*(refNum: INTEGER; attrs: INTEGER);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A9F7;
- (*$END*)
- PROCEDURE OpenRFPerm*(fileName: Types.ConstStr255Param; vRefNum: INTEGER; permission: Types.ByteParameter): INTEGER;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A9C4;
- (*$END*)
- PROCEDURE RGetResource*(theType: Types.ResType; theID: INTEGER): Types.Handle;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A80C;
- (*$END*)
- (*$IF SystemSevenOrLater *)
- PROCEDURE HOpenResFile*(vRefNum: INTEGER; dirID: LONGINT; fileName: Types.ConstStr255Param; permission: Types.ByteParameter): INTEGER;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A81A;
- (*$END*)
- (*$ELSE*)
- PROCEDURE HOpenResFile*(vRefNum: INTEGER; dirID: LONGINT; fileName: Types.ConstStr255Param; permission: Types.ByteParameter): INTEGER;
- EXTERNAL PASCAL;
- (*$END*)
- (*$IF SystemSevenOrLater *)
- PROCEDURE HCreateResFile*(vRefNum: INTEGER; dirID: LONGINT; fileName: Types.ConstStr255Param);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A81B;
- (*$END*)
- (*$ELSE*)
- PROCEDURE HCreateResFile*(vRefNum: INTEGER; dirID: LONGINT; fileName: Types.ConstStr255Param);
- EXTERNAL PASCAL;
- (*$END*)
- PROCEDURE FSpOpenResFile*((*CONST*)VAR spec: Files.FSSpec; permission: Types.ByteParameter): INTEGER;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $700D, $AA52;
- (*$END*)
- PROCEDURE FSpCreateResFile*((*CONST*)VAR spec: Files.FSSpec; creator: Types.OSType; fileType: Types.OSType; scriptTag: Types.ScriptCode);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $700E, $AA52;
- (*$END*)
- (* partial resource calls *)
- PROCEDURE ReadPartialResource*(theResource: Types.Handle; offset: LONGINT; buffer: (*ΔΔUNIVΔΔ*) Types.Ptr; count: LONGINT);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $7001, $A822;
- (*$END*)
- PROCEDURE WritePartialResource*(theResource: Types.Handle; offset: LONGINT; buffer: (*ΔΔUNIVΔΔ*) Types.Ptr; count: LONGINT);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $7002, $A822;
- (*$END*)
- PROCEDURE SetResourceSize*(theResource: Types.Handle; newSize: LONGINT);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $7003, $A822;
- (*$END*)
- PROCEDURE GetNextFOND*(fondHandle: Types.Handle): Types.Handle;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $700A, $A822;
- (*$END*)
- (* Use TempInsertROMMap to force the ROM resource map to be
- inserted into the chain in front of the system. Note that
- this call is only temporary - the modified resource chain
- is only used for the next call to the resource manager.
- See IM IV 19 for more information. *)
- PROCEDURE TempInsertROMMap*(tempResLoad: BOOLEAN);
- EXTERNAL PASCAL;
- (*$IF OLDROUTINENAMES *)
- PROCEDURE SizeResource*(theResource: Types.Handle): LONGINT;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A9A5;
- (*$END*)
- PROCEDURE MaxSizeRsrc*(theResource: Types.Handle): LONGINT;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A821;
- (*$END*)
- PROCEDURE RmveResource*(theResource: Types.Handle);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A9AD;
- (*$END*)
- (*$END*)
-
- (* $ALIGN RESET*)
- (* $POP*)
-
- END Resources.
-